// Copyright (c) 2012 NetPipe
// All Rights Reserved.

/**
 * @file XFile.h
 * 文件相关方法
 * @author fanpc
 * @date 2012/07/25
 * @version 1.0
 * @note Create
 * Date		     Ver	     Name	   Description
 * 20120725		 1.1.0		 fanpc	   create
 */
#ifndef NP_UTILS_XFILE_H
#define NP_UTILS_XFILE_H

#include <string>

class XFile
{
public:
  XFile();
  ~XFile();

  /**
   * 检验路径是否存在，若不存在则创建
   * dirPath 文件全路径
   */
  void checkDir(const std::string& dirPath);

  bool writeFile(const char* msg,const int len, const char* filePath);

  /**
    * 写入文件
    */
   bool writeFile(const std::string& content, const std::string& filePath);

   void writeBinary(const char* content ,const int len, const char* path);

  /**
    * 检验文件是否存在
    */
  bool isExists(const char* filePath);

  void deleteFile(const char* filePath);
  
    void readFile(const std::string& filePath, std::string& content);

  bool readFile(char* msg, int &len, const char* filePath);
  
  private:
  char* m_fileConetnt;
};


#endif
